Разработка:Сеть Moodle
Функция сети Moodle позволяет администратору Moodle установить связь с другим сайтом Moodle или Mahara и поделиться некоторыми ресурсами с пользователями этого Moodle. Пользователи переходят с первого Moodle на связанный сайт через блок Сайты сети MNet.
Обзор
Первоначальная версия MNet поставляется с плагином аутентификации, который делает возможным единый вход на разные сайты Moodle. Пользователь с именем пользователя jody входит на свой сервер Moodle как обычно и нажимает на ссылку, которая ведёт на страницу другого сервера Moodle. Обычно у неё были бы только права гостя на удалённом Moodle, но за кулисами единый вход устанавливает полностью аутентифицированный сеанс для Jody на удалённом сайте.
ВНИМАНИЕ: MNet требует использования xmlrpc. Пожалуйста, перейдите на вашу страницу phpinfo, если вы заинтересованы в использовании этого, и найдите --with-xmlrpc. Если ваш php не был скомпилирован с xmlrpc, то вам нужно сначала решить эту проблему! В настоящее время кажется, что PEAR xmlrpc не будет работать. 
Безопасность
Для работы функции MNet требуется, чтобы на вашем сервере были установлены расширения Curl и OpenSSL. Ваша система сгенерирует сертификат OpenSSL для зашифрованной связи с другими Moodle и будет ежемесячно (приблизительно) менять ключи шифрования.
Связь осуществляется через транспорт XML-RPC, и документы XML-RPC сначала упаковываются в конверт XMLDSIG (XML цифровая подпись), а затем в конверт XMLENC (XML шифрование). Всё шифрование происходит внутри PHP и не требует сервера https (Apache SSL).
Ссылки:
Можно включить специальный режим, который позволит компьютеру с указанным IP-адресом совершать вызовы к слою XML-RPC без использования шифрования или подписей. Этот режим предоставляется для того, чтобы Moodle могла взаимодействовать с другими программными системами, в которых интеграция подписей и шифрования может быть чрезмерно сложной. Не предполагается, что незашифрованное сетевое взаимодействие между Moodle когда-либо будет разрешено.
Одноранговая сеть
Это базовая схема системы. Может быть очень полезно запустить один Moodle для каждого факультета или отдела, каждый со своим управлением пользователями, и при этом разрешить пользователям перемещаться между установками Moodle... в зависимости от разрешений, конечно.
Настройка
Инструкции охватывают две установки Moodle: MoodleA и MoodleB. Обе установлены правильно и никогда не имели конфигурации сети Moodle.
Примечание: Если у вас возникают проблемы, убедитесь, что отладка включена в Управление > Администрирование > Сервер > Отладка. Могут отображаться дополнительные диагностические сообщения.
Вам нужно сначала включить сетевое взаимодействие в Управление > Администрирование > Расширенные возможности. Это добавит меню «Сетевое взаимодействие» в меню администрирования сайта.
- Заставьте их общаться друг с другом
- Убедитесь, что Управление > Администрирование > Сервер > Среда указывает на наличие установленного curl
- Если MoodleA и MoodleB размещены в одном домене, убедитесь, что у них разный префикс cookie. Обратите внимание, что изменение префикса cookie приведёт к выходу из системы! Вы можете изменить префикс cookie через Админ > Сервер > Обработка сеанса.
- На обоих сайтах перейдите в Управление > Администрирование > Расширенные возможности и включите сетевое взаимодействие.
- На MoodleA перейдите в Управление > Администрирование > Сеть > Управление сайтами сети MNet — введите URL MoodleB в разделе «Добавить новый сайт» и нажмите «Добавить». URL должен включать каталог, где находится ваш код Moodle, и может включать протокол, например https://www.mymoodle.org/moodle.
- Сделайте то же самое на MoodleB.
- Запустите перемещение пользователей
1 ). На обоих серверах:
-
- Перейдите в Управление > Администрирование > Плагины > Аутентификация > Настройки аутентификации. Включите Аутентификацию MNet, нажав на значок «включить».
-
- На MoodleA перейдите в Управление > Администрирование > Сетевое взаимодействие > (Управление) Сайты, нажмите на «MoodleB» и перейдите на вкладку «Службы». Включите публикацию и подписку SSO-IDP (поставщик идентификаторов единого входа), а также публикацию и подписку SSO-SP (поставщик услуг единого входа).
- Сделайте то же самое на MoodleB. (Путем публикации и подписки вы позволяете пользователям свободно перемещаться между двумя серверами. Только публикацией или подпиской между серверами вы создаёте однонаправленный переход)
- На обоих сайтах перейдите в Управление > Администрирование > Пользователи > Разрешения > Определить роли, только роли, у которых есть «Перемещение на удалённый Moodle moodle/site:mnetlogintoremote», будут разрешены для перемещ ения. Предоставьте соответствующие привилегии.
- например, включение для Аутентифицированного пользователя позволяет любому аутентифицированному пользователю перемещаться между серверами.
- На обоих серверах перейдите на главную страницу и добавьте блок «Сайты сети MNet».
- Для тестирования рекомендуется использовать другой браузер (даже на другом компьютере), который не вошёл ни на один из сайтов. Войдите на MoodleA с учётной записью не администратора, у которой есть разрешения на перемещение. Вы должны увидеть блок «Сайты сети MNet», и, нажав на него, вы должны перейти на MoodleB с автоматически созданным аккаунтом.
- Запустите удаленное зачисление — это необязательно. Это позволяет администратору MoodleB зачислять пользователей, которые являются «нативными» для MoodleB, на удалённые курсы в MoodleA, и наоборот.
- На обоих сайтах перейдите в Администрирование сайта > Плагины > Зачисления > Управление плагинами зачисления и включите плагин удаленного зачисления Mnet (нажмите «Сохранить»). Нажмите «Редактировать» и включите «allow_allcourses» или выберите некоторые курсы или категории для удаленного зачисления.
- На сервере, на который вы хотите получать зачисления:
- Перейдите в Администрирование сайта > Плагины > Зачисления > Управление плагинами зачисления. Включите Удаленные зачисления MNet, нажав на значок «включить». (Для информации о настройках Удалённых зачислений MNet см. Удаленные зачисления MNet)
- На MoodleA перейдите в Админ > Сетевое взаимодействие > Сайты, нажмите на «MoodleB», и перейдите на вкладку «Службы». Включите публикацию и/или подписку зачисления.
- Сделайте то же самое на MoodleB.
- На каждом курсе, на который вы хотите разрешить зачисление:
- Войдите в курс и перейдите в Управление > Управление курсом > Пользователи > Способы зачисления
- Из выпадающего списка «Добавить способ» выберите «Удаленные зачисления MNet»
- На новом экране выберите Внешний сайт, с которого вы хотите разрешить зачисление, роль для зачисленных пользователей и нажмите «Сохранить». (Примечание: вы можете добавить только один метод Удалённых зачислений MNet на курс.)
Использование
- В MoodleA перейдите в Админ > Сетевое взаимодействие > Клиент удаленного зачисления. Вы увидите MoodleB в списке. Нажмите кнопку «Редактировать зачисление» рядом с MoodleB, и вы увидите список курсов, которые MoodleB предлагает для удаленного зачисления. Нажмите «Редактировать зачисление», выберите пользователей, которых хотите зачислить, и нажмите «Добавить», чтобы зачислить их на курс.
Подключение к хабу Mnet
Хаб Mnet (не путайте его с Общественным хабом) — это сервер Moodle, который настроен на приём соединений от других серверов Moodle и предоставление набора услуг пользователям этих других серверов. Это руководство поможет вам подключиться к хабу Mnet, оценить предлагаемые им услуги и включить эти услуги для ваших пользователей.
Настройка
- Начните общение с хабом
- Убедитесь, что страница Админ > Сервер > Среда указывает на наличие установленных curl и openssl
- Перейдите в Админ > Расширенные возможности и включите сетевое взаимодействие
- Перейдите в Админ > Сеть > Сайты и введите URL хаба Mnet в разделе «Добавить новый сайт». Нажмите Добавить
- Детали хоста для хаба Mnet должны появиться с уже заполненным полем «Название сайта». Нажмите